Not Applicable
Not Applicable
Not Applicable
1. Technical Field
The field of the present invention is electronic devices for connection to a computer device. More particularly, the present invention relates to an electronic device and method providing macro recording and playback functionality for a computing device.
2. Background Art
Computing devices are well-known in the art and widely used. For example, computer devices may take the form of a personal computer, a centralized computer with computer terminal access, or a widely distributed system with computing devices connected with a network such as the Internet. Although some computing devices may operate with little or no human intervention, many computing devices require human input to operate. Computing devices, such as the personal computer, typically have a keypad or keyboard for inputting numerical and textual information.
Depending on the type of work performed by the computing device the computing device may also have other types of inputs. For example, with the popularity of graphical user interfaces the use of graphic input devices has dramatically increased. Graphical input devices include devices such as a computer mouse, graphics tablets, digitizers, and light pens. These devices allow a graphical element such as a cursor to be moved and positioned on a computer screen. This graphical element may be used to select functional commands to direct the operation of the computer or may assist in the input of information.
One of the most popular graphical input devices is the mouse. The mouse connects to the computing device and is used to select commands and input graphical information. By moving the mouse across a surface, the mousers relative movements are communicated to the computing device, thereby moving the graphical cursor. Buttons on the mouse access and activate commands and also input graphical information by placing the cursor.
The mouse comes in several forms including one device that is rolled on top of a flat surface and another form commonly referred to as the track ball. The track ball is similar to the mouse in that it communicates relative movement conditions to the computer device. However, the movement is controlled by rotating a small ball, usually with the thumb.
Computing devices may also accept voice inputs from a user. The user speaks into a microphone where the sound waves of the voice are converted into electrical signals. The electrical signals are received into a voice control unit where the electrical signal is correlated to textual input or commands. Thereby, by voice a user may input text into the computing device or alternatively may command the computing device to take particular actions.
Computing devices also accept other inputs depending upon the particular application operating on the computing device. For example, some computing devices may need graphical inputs from digital cameras or from video recorders. Other computers may accept information from outside networks such as the Internet or may receive information via a modem connection.
When operating a computing device, the user interacts with the input devices to direct the operation of the computing device. Many times the computing device requires the same series of inputs to perform a particular operation. Performing this set of repetitive operations may include inputs from several input devices. For example, a particular operation may require a mouse action to initiate a program, waiting for a period of time, and then textually inputting an access password with the keyboard. Additional keyboard, mouse, or other inputs may then be needed to conclude the repetitive operation. Each time the user desires to perform this repetitive operation, the user must go through the same sequence using the several input devices. Not only is this time consuming but the sequence may be prone to errors. In some situations, repetitive operations may be simplified by the use of a macro.
Macros are used to automate repetitive keyboard and mouse inputs in a particular application. In general, macros are files containing repetitive instructions. Upon command the new macro may be replayed by the computing device. For example, applications, such as the Microsoft xe2x80x9cWordxe2x80x9d word processor, have macro recording and playback capabilities. For example, in Microsoft Word, the user may record a macro to perform a particular operation and give that operation a name. Thereafter, that operation may be performed by executing that named macro. In Microsoft Word, as is typical in many applications, the application has a utility for recording and naming the macro. To run the macro, the application has a macro playback facility which can be initiated by command or through the use of a shortcut command.
Further, the operating system, such as Microsoft Windows, may also have a macro recording capability. In a manner similar to that described above, the Windows"" recorder allows the user to record repetitive keystrokes and mouse movements and store these inputs into a named file. Then, upon activating the playback utility, the playback utility plays back the series of mouse commands and keystrokes.
However, the macro recording and playback systems incorporated within an individual application or within the operating system have proven to be limited in their application and effectiveness. For example, an application-based macro recording and playback facility is only able to interact with the application in which it resides and is therefore not able to control or provide input for other applications or the operating system. Further, no capability is known for incorporating other input devices such as voice or digital image devices. The macro recording system of the operating system likewise is limited as the known operating system macro facilities are limited to mouse and keyboard inputs. Further, the operating system can only record keystrokes and mouse movements as interpreted by the operating system. For example, the operating system is not able to acquire and play back and therefore emulate the actual hardware input devices as the operating system can only record inputs as filtered through the computing device""s operating system and device drivers.
For example, U.S. Pat. No. 5,157,384 provides an application operating on a computing device that accepts input from a variety of input devices and routes messages from these input devices to an alternative input subsystem. The alternative input subsystem then routes a single message into the operating system. At a later time the input messages may be edited or replayed. However, the macro recording facility of this patent is a software application operating on the computing device itself. Therefore, this macro facility suffers from the same limitations as described above.
In a similar manner U.S. Pat. No. 5,335,342 discloses an automated software testing system where input signals to the system under test are recorded by the testing system as a script. Later the script can be played back to the system under test. Thereby, errors in the software may be duplicated by duplicating the keystrokes and mouse movements prior to the occurrence of the software error. The script, however, records inputs only for one specific software application.
U.S. Pat. No. 5,598,333 has an apparatus and method for recording and playing back user input data. This apparatus and method, too, is designed for duplicating the occurrence of software defects in one specific software application.
Therefore, there exists a need for a flexible, easy to use macro and playback facility that controls and provides input to multiple applications. Further, there exists a need to provide this macro and playback facility with the capability of recording and identifying macro procedures.
It is therefore an object of the present invention to provide a macro recording and playback device capable of accepting and storing the input messages from a variety of computer input devices, independent of the application or operating system used on a target computing device.
Therefore, to overcome the disadvantages in the prior art and meet the objectives of the present invention, a novel macro recording and playback device and method is disclosed. A macro recording and playback device has inputs for coupling to a plurality of computer input devices. The computer input devices provide a sequence of input messages for performing a repetitive function. In a record mode, a macro indicative of the sequence of input messages is stored in a memory, with an identifier associated with the macro. In a playback mode, the macro causes output messages to a computer device which are indicative of the sequence of input messages. Thereby, playing the macro causes the computing device to perform the repetitive function. Further, a method is disclosed for receiving in a parallel manner a sequence of input messages from computer input devices, with the parallel messages forming a data word. The sequence of data words is stored, forming a macro. When the macro is selected and played, messages are sent to the computer device indicative of the received input messages.